In a spread spectrum system, a transmitted signal is spread over a frequency band that is much wider than the minimum bandwidth required to transmit particular information. Whereas in other forms of modulation, such as amplitude modulation or frequency modulation, the transmission bandwidth is comparable to the bandwidth of the information itself, a spread spectrum system spreads an information bandwidth of, for example, only a few kilohertz over a band that is many megahertz wide, by modulating the information with a wideband encoding signal. Thus, an important characteristic distinguishing spread spectrum systems from other types of broadband transmission systems is that in spread spectrum signal processing, a signal other than the information being sent spreads the transmitted signal.
Spreading of the transmitted signal in typical spread spectrum systems is provided by (1) direct sequence modulation, (2) frequency hopping or (3) pulsed-FM or "chirp" modulation. In direct sequence modulation, a carrier is modulated by a digital code sequence whose bit rate is much higher than the information signal bandwidth. Frequency hopping involves shifting the carrier frequency in discrete increments in a pattern dictated by a code sequence, and in chirp modulation, the carrier is swept over a wide band during a given pulse interval. Other, less frequently used, carrier spreading techniques include time hopping, wherein transmission time, usually of a low duty cycle and short duration, is governed by a code sequence and time-frequency hopping wherein a code sequence determines both the transmitted frequency and the time of transmission.
Applications of spread spectrum systems are various, depending upon characteristics of the codes being employed for band spreading and other factors. In direct sequence spread spectrum systems, for example, where the code is a pseudo-random sequence, the composite signal acquires the characteristics of noise, making the transmission undiscernable to an eavesdropper who is not capable of decoding the transmission. Additional applications include navigation and ranging with a resolution depending upon the particular code rates and sequence lengths used. Reference is made to the textbook of R. C. Dixon, Spread Spectrum Systems, John Wiley and Sons, New York, 1976, especially Chapter 9, for application details.
Direct sequence modulation involves modulation of a carrier by a code sequence of any one of several different formats, such as AM or FM, although biphase phase-shift keying is the most common. In biphase phase-shift keying (PSK), a balanced mixer whose inputs are a code sequence and an RF carrier, controls the carrier to be transmitted with a first phase shift of X.sup.o when the code sequence is a "1" and with a second shift of (180+X).sup.o when the code sequence is a "0". Biphase phase-shift keyed modulation is advantageous over other forms because the carrier is suppressed in the transmission making the transmission more difficult to receive by conventional equipment and preserving more power to be applied to information, as opposed to the carrier, in the transmission. Characteristics of biphase phase-shift keying are given in Chapter 4 of the aformentioned Dixon text.
The type of code used for spreading the bandwidth of the transmission is preferably a linear code, particularly if message security is not required, and is a maximal code for best cross correlation characteristics. Maximal codes are, by definition, the longest codes that could be generated by a given shift register or other delay element of a given length. In binary shift register sequence generators, the maximum length (ML) sequence that is capable of being generated by a shift register having n stages is 2.sup.n -1 bits. A shift register sequence generator is formed from a shift register with certain of the shift register stages fed back to other stages. The output bit stream has a length depending upon the mumber of stages of the register and feedback employed, before the sequence repeats. A shift register having five stages, for example, is capable of generating a 31 bit binary sequence (i.e. 2.sup.5 -1), as its maximal length (ML) sequence. Shift register ML sequence generators having a large number of stages generate ML sequences that repeat so infrequently that the sequences appear to be random, acquiring the attributes of noise, and are difficult detect. Direct sequence systems are thus sometimes called "pseude-noise" systems.
Properties of maximal sequences are summarized in Section 3.1 of Dixon and feedback connections for maximal code generators from 3 to 100 stages are listed in Table 3.6 of the Dixon text. For a 1023 bit code, corresponding to a shift register having 10 stages with maximal length feedback, there are 512 "1"s and 511 "0"s; the difference is 1. Whereas the relative positions of "1"s and "0"s vary among ML code sequences, the number of "1"s and the number of "0"s in each maximal length sequence are constant for identical ML length sequences.
Because the difference between the number of "1"s and the number of "0"s in any maximal length sequence is unity, autocorrelation of a maximal linear code, which is a bit by bit comparison of the sequence with a phase shifted replica of itself, has a value of -1, except at the 0.+-.1 bit phase shift area, in which corelation varies linearly from -1 to (2.sup.n -1). A 1023 bit maximal code (2.sup.n -1) therefore has a peak-to-average autocorrelation value of 1024, a range of 30.1 db.
It is this characteristic which makes direct sequence spread spectrum transmission useful in code division multiplexing. Receivers set to different shifts of a common ML code are synchronized only to transmitters having that shift of the common code. Thus, more than one signal can be unambiguously transmitted at the same frequency and at the same time. In an autocorrelation type multiplexed system, there is a common clock or timing source to which several transmitters and at least one receiver are synchronized. The transmitters generate a common maximal length sequence with the code of each transmitter phase shifted by at least one bit relative to the other codes. The receiver generates a local replica of the common transmitted maximal length sequence having a code sequence shift that corresponds to the shift of the particular transmitter to which the receiver is tuned. The locally generated sequence is autocorrelated with the incoming signal by a correlation detector adjusted so as to recognize the level associated with only .+-.1-bit synchronization to despread and extract information from only the signal generated by the predetermined transmitter.
Because the autocorrelation characteristic of a maximal length code sequence has an offset corresponding to the inverse of the code length, or EQU V/(2.sup.n -1)
where V is the magnitude of voltage corresponding to "1" and n is the number of shift register stages, overlap occurs between neighboring channels. Thus, there is imperfect rejection of unwanted incoming signals. Unambiguous signal discrimination thus requires a guard band between channels reducing the number of potential transmitters for a given code length. A long maximal length sequence compensates for the guard band to increase the number of potential transmitters, but this slows synchronization and creates power imbalance of the multiplexing transmitters.
U.S. patent application Ser. No. 06/592,669, filed on Mar. 23, 1984 and assigned to the assignee of this invention, describes a code division multiplex method and system, wherein a plurality of transmitters synchronized to a common clock each transmit data spread by a common bipolar pseudo-random code having a different assigned code sequence shift. A receiver, synchronized to the clock, discriminates the signal transmitted by a predetermined transmitter from signals transmitted by the others by cross-correlating the incoming signal with a trinary sequence that is developed at the receiver. The receiver develops the trinary sequence by generating (1) a first pseudo-random code that is a replica of the common bipolar pseudo-random code transmitted by the transmitters and has a code sequence shift corresponding to that of the predetermined transmitter to which the receiver is tuned, and (2) a second bipolar pseudo-random code that is a replica of the common bipolar pseudo-random code and has an unassigned code sequence shift, and substracting the second code from the first.
Correlation consists of multiplication of a locally developed trinary sequence. Integration of the product averages out random noise to enhance the signal-to-noise ratio. When the transmitted signal is biphase, the transmitted waveforms for a "one" and a "zero" differ from each other by a 180.degree. phase shift. With the predetermined transmitter and the receiver synchronized to each other, the multiplier output is at a maximum at a positive polarity for a "one" and at a negative polarity for a "zero". The multiplier output is integrated for the duration of a 1-bit period. If the initial integrator output is "zero" then the polarity of the integrator output at the end of a bit period corresponds to the transmitted binary information.
In the aforementioned copending application Ser. No. 06,592,669, filed Mar. 23, 1984 the degree of correlation between the predetermined transmitter and the receiver is determined by comparing the output of several correlation detectors having reference signals that are displaced in time from each other. An error signal is generated and applied to control receiver timing to perfectly align the code sequence shift of the receiver reference sequence to the code sequence shift of the predetermined transmitter.
A large number of adjustments of the correlation detector components, however, are required. For N correlation detectors, there are required 2N analog multipliers, requiring three adjustments each, N substrators, each requiring adjustments, an integrate and dump integrator circuit (requiring two adjustments each) and N sample and hold circuits, each requiring one adjustment. An eight channel detector (consisting of eight correlation detectors) thus requires eighty adjustments. This creates a significant problem, both during intial calibration and during maintenance.